/*Events 3.0*/
namespace("w3c.Event", {
	eventPhase : "Used to indicate which phase of event flow is currently being accomplished.",
	type : "The local name of the event type",
	target : null,
	currentTarget : "Used to indicate the EventTarget whose \
		EventListeners are currently being processed. This is \
		particularly useful during the capture and bubbling phases",
	bubbles : "Used to indicate whether or not an event is a bubbling event",
	cancelable:"Used to indicate whether or not an event can have its default action prevented",
	timeStamp:"Used to specify the time at which the event was created in milliseconds relative to 1970-01-01T00:00:00Z. Due to the fact that some systems may not provide this information the value of timeStamp may be not available for all events",
	stopped : false,
	
	stopPropagation : function() {
		this.stopped = true;
		/*Prevents other event listeners from being triggered but its effect 
		is deferred until all event listeners attached on the Event.currentTarget 
		have been triggered */
	},
	
	__stoppedImmediately : false,
	stopImmediatePropagation : function(){
		this.__stoppedImmediately = true;
		/*Prevents other event listeners from being triggered and, unlike 
		 Event.stopPropagation() its effect is immediate . Once it has 
		 been called, further calls to this method have no additional effect.*/
	},
	
	__preventDefault : false,
	preventDefault : function(){
		this.__preventDefault = true;
		/*Signifies that the event is to be canceled, meaning any default 
		 action normally taken by the implementation as a result of the event will not occur*/
	},
	initEvent : function(){
		/*Initializes attributes of an Event created through the DocumentEvent.createEvent 
		 method. This method may only be called before the Event has been dispatched via 
		 the EventTarget.dispatchEvent() method*/
	},
	
	defaultPrevented : function(){
		return this.__preventDefault == true;
		/*Used to indicate whether Event.preventDefault() has been called for this event.*/
	},
	
	propagationStopped : function(){
		return this.stopped == true;
	}
});